diff --git a/application/config/mimes.php b/application/config/mimes.php
index 90a1d18..206329f 100644
--- a/application/config/mimes.php
+++ b/application/config/mimes.php
@@ -8,7 +8,7 @@
 |
 */
 
-$mimes = array('hqx'   =>      array('application/mac-binhex40', 'application/mac-binhex', 'application/x-binhex40', 'application/x-mac-binhex40'),
+$mimes = array('hqx'	=>	array('application/mac-binhex40', 'application/mac-binhex', 'application/x-binhex40', 'application/x-mac-binhex40'),
 				'cpt'	=>	'application/mac-compactpro',
 				'csv'	=>	array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'),
 				'bin'	=>	array('application/macbinary', 'application/mac-binary', 'application/octet-stream', 'application/x-binary', 'application/x-macbinary'),
diff --git a/application/config/routes.php b/application/config/routes.php
index 5f9a583..f30a0d1 100644
--- a/application/config/routes.php
+++ b/application/config/routes.php
@@ -23,7 +23,7 @@
 | RESERVED ROUTES
 | -------------------------------------------------------------------------
 |
-| There area two reserved routes:
+| There are two reserved routes:
 |
 |	$route['default_controller'] = 'welcome';
 |
diff --git a/application/config/smileys.php b/application/config/smileys.php
index 25d28b2..38f02a9 100644
--- a/application/config/smileys.php
+++ b/application/config/smileys.php
@@ -60,7 +60,7 @@
 	':exclaim:'		=>	array('exclaim.gif',		'19',	'19',	'excaim'),
 	':question:'	=>	array('question.gif',		'19',	'19',	'question') // no comma after last item
 
-		);
+);
 
 /* End of file smileys.php */
 /* Location: ./application/config/smileys.php */
\ No newline at end of file
diff --git a/application/config/user_agents.php b/application/config/user_agents.php
index 4746f2f..9080b43 100644
--- a/application/config/user_agents.php
+++ b/application/config/user_agents.php
@@ -11,168 +11,169 @@
 */
 
 $platforms = array (
-					'windows nt 6.0'	=> 'Windows Longhorn',
+					'windows nt 6.1'	=> 'Windows 7',
+					'windows nt 6.0'	=> 'Windows Vista',
 					'windows nt 5.2'	=> 'Windows 2003',
-					'windows nt 5.0'	=> 'Windows 2000',
 					'windows nt 5.1'	=> 'Windows XP',
+					'windows nt 5.0'	=> 'Windows 2000',
 					'windows nt 4.0'	=> 'Windows NT 4.0',
-					'winnt4.0'			=> 'Windows NT 4.0',
-					'winnt 4.0'			=> 'Windows NT',
-					'winnt'				=> 'Windows NT',
+					'winnt4.0'		=> 'Windows NT 4.0',
+					'winnt 4.0'		=> 'Windows NT',
+					'winnt'			=> 'Windows NT',
 					'windows 98'		=> 'Windows 98',
-					'win98'				=> 'Windows 98',
+					'win98'			=> 'Windows 98',
 					'windows 95'		=> 'Windows 95',
-					'win95'				=> 'Windows 95',
-					'windows'			=> 'Unknown Windows OS',
-					'os x'				=> 'Mac OS X',
-					'ppc mac'			=> 'Power PC Mac',
-					'freebsd'			=> 'FreeBSD',
-					'ppc'				=> 'Macintosh',
-					'linux'				=> 'Linux',
-					'debian'			=> 'Debian',
-					'sunos'				=> 'Sun Solaris',
-					'beos'				=> 'BeOS',
+					'win95'			=> 'Windows 95',
+					'windows'		=> 'Unknown Windows OS',
+					'os x'			=> 'Mac OS X',
+					'ppc mac'		=> 'Power PC Mac',
+					'freebsd'		=> 'FreeBSD',
+					'ppc'			=> 'Macintosh',
+					'linux'			=> 'Linux',
+					'debian'		=> 'Debian',
+					'sunos'			=> 'Sun Solaris',
+					'beos'			=> 'BeOS',
 					'apachebench'		=> 'ApacheBench',
-					'aix'				=> 'AIX',
-					'irix'				=> 'Irix',
-					'osf'				=> 'DEC OSF',
-					'hp-ux'				=> 'HP-UX',
-					'netbsd'			=> 'NetBSD',
-					'bsdi'				=> 'BSDi',
-					'openbsd'			=> 'OpenBSD',
-					'gnu'				=> 'GNU/Linux',
-					'unix'				=> 'Unknown Unix OS'
+					'aix'			=> 'AIX',
+					'irix'			=> 'Irix',
+					'osf'			=> 'DEC OSF',
+					'hp-ux'			=> 'HP-UX',
+					'netbsd'		=> 'NetBSD',
+					'bsdi'			=> 'BSDi',
+					'openbsd'		=> 'OpenBSD',
+					'gnu'			=> 'GNU/Linux',
+					'unix'			=> 'Unknown Unix OS'
 				);
 
 
 // The order of this array should NOT be changed. Many browsers return
 // multiple browser types so we want to identify the sub-type first.
 $browsers = array(
-					'Flock'				=> 'Flock',
-					'Chrome'			=> 'Chrome',
-					'Opera'				=> 'Opera',
-					'MSIE'				=> 'Internet Explorer',
+					'Flock'			=> 'Flock',
+					'Chrome'		=> 'Chrome',
+					'Opera'			=> 'Opera',
+					'MSIE'			=> 'Internet Explorer',
 					'Internet Explorer'	=> 'Internet Explorer',
-					'Shiira'			=> 'Shiira',
-					'Firefox'			=> 'Firefox',
-					'Chimera'			=> 'Chimera',
-					'Phoenix'			=> 'Phoenix',
-					'Firebird'			=> 'Firebird',
-					'Camino'			=> 'Camino',
-					'Netscape'			=> 'Netscape',
-					'OmniWeb'			=> 'OmniWeb',
-					'Safari'			=> 'Safari',
-					'Mozilla'			=> 'Mozilla',
-					'Konqueror'			=> 'Konqueror',
-					'icab'				=> 'iCab',
-					'Lynx'				=> 'Lynx',
-					'Links'				=> 'Links',
-					'hotjava'			=> 'HotJava',
-					'amaya'				=> 'Amaya',
-					'IBrowse'			=> 'IBrowse'
+					'Shiira'		=> 'Shiira',
+					'Firefox'		=> 'Firefox',
+					'Chimera'		=> 'Chimera',
+					'Phoenix'		=> 'Phoenix',
+					'Firebird'		=> 'Firebird',
+					'Camino'		=> 'Camino',
+					'Netscape'		=> 'Netscape',
+					'OmniWeb'		=> 'OmniWeb',
+					'Safari'		=> 'Safari',
+					'Mozilla'		=> 'Mozilla',
+					'Konqueror'		=> 'Konqueror',
+					'icab'			=> 'iCab',
+					'Lynx'			=> 'Lynx',
+					'Links'			=> 'Links',
+					'hotjava'		=> 'HotJava',
+					'amaya'			=> 'Amaya',
+					'IBrowse'		=> 'IBrowse'
 				);
 
 $mobiles = array(
 					// legacy array, old values commented out
 					'mobileexplorer'	=> 'Mobile Explorer',
-//					'openwave'			=> 'Open Wave',
+//					'openwave'		=> 'Open Wave',
 //					'opera mini'		=> 'Opera Mini',
-//					'operamini'			=> 'Opera Mini',
-//					'elaine'			=> 'Palm',
+//					'operamini'		=> 'Opera Mini',
+//					'elaine'		=> 'Palm',
 					'palmsource'		=> 'Palm',
 //					'digital paths'		=> 'Palm',
-//					'avantgo'			=> 'Avantgo',
-//					'xiino'				=> 'Xiino',
-					'palmscape'			=> 'Palmscape',
-//					'nokia'				=> 'Nokia',
-//					'ericsson'			=> 'Ericsson',
+//					'avantgo'		=> 'Avantgo',
+//					'xiino'			=> 'Xiino',
+					'palmscape'		=> 'Palmscape',
+//					'nokia'			=> 'Nokia',
+//					'ericsson'		=> 'Ericsson',
 //					'blackberry'		=> 'BlackBerry',
-//					'motorola'			=> 'Motorola'
+//					'motorola'		=> 'Motorola'
 
 					// Phones and Manufacturers
-					'motorola'			=> "Motorola",
-					'nokia'				=> "Nokia",
-					'palm'				=> "Palm",
-					'iphone'			=> "Apple iPhone",
-					'ipad'				=> "iPad",
-					'ipod'				=> "Apple iPod Touch",
-					'sony'				=> "Sony Ericsson",
-					'ericsson'			=> "Sony Ericsson",
+					'motorola'		=> "Motorola",
+					'nokia'			=> "Nokia",
+					'palm'			=> "Palm",
+					'iphone'		=> "Apple iPhone",
+					'ipad'			=> "iPad",
+					'ipod'			=> "Apple iPod Touch",
+					'sony'			=> "Sony Ericsson",
+					'ericsson'		=> "Sony Ericsson",
 					'blackberry'		=> "BlackBerry",
-					'cocoon'			=> "O2 Cocoon",
-					'blazer'			=> "Treo",
-					'lg'				=> "LG",
-					'amoi'				=> "Amoi",
-					'xda'				=> "XDA",
-					'mda'				=> "MDA",
-					'vario'				=> "Vario",
-					'htc'				=> "HTC",
-					'samsung'			=> "Samsung",
-					'sharp'				=> "Sharp",
-					'sie-'				=> "Siemens",
-					'alcatel'			=> "Alcatel",
-					'benq'				=> "BenQ",
-					'ipaq'				=> "HP iPaq",
-					'mot-'				=> "Motorola",
+					'cocoon'		=> "O2 Cocoon",
+					'blazer'		=> "Treo",
+					'lg'			=> "LG",
+					'amoi'			=> "Amoi",
+					'xda'			=> "XDA",
+					'mda'			=> "MDA",
+					'vario'			=> "Vario",
+					'htc'			=> "HTC",
+					'samsung'		=> "Samsung",
+					'sharp'			=> "Sharp",
+					'sie-'			=> "Siemens",
+					'alcatel'		=> "Alcatel",
+					'benq'			=> "BenQ",
+					'ipaq'			=> "HP iPaq",
+					'mot-'			=> "Motorola",
 					'playstation portable'	=> "PlayStation Portable",
-					'hiptop'			=> "Danger Hiptop",
-					'nec-'				=> "NEC",
-					'panasonic'			=> "Panasonic",
-					'philips'			=> "Philips",
-					'sagem'				=> "Sagem",
-					'sanyo'				=> "Sanyo",
-					'spv'				=> "SPV",
-					'zte'				=> "ZTE",
-					'sendo'				=> "Sendo",
+					'hiptop'		=> "Danger Hiptop",
+					'nec-'			=> "NEC",
+					'panasonic'		=> "Panasonic",
+					'philips'		=> "Philips",
+					'sagem'			=> "Sagem",
+					'sanyo'			=> "Sanyo",
+					'spv'			=> "SPV",
+					'zte'			=> "ZTE",
+					'sendo'			=> "Sendo",
 
-					// Operating Systems
-					'android'				=> "Android",
-					'symbian'				=> "Symbian",
-					'SymbianOS'				=> "SymbianOS",
-					'elaine'				=> "Palm",
-					'palm'					=> "Palm",
-					'series60'				=> "Symbian S60",
-					'windows ce'			=> "Windows CE",
+// Operating Systems
+					'android'		=> "Android",
+					'symbian'		=> "Symbian",
+					'SymbianOS'		=> "SymbianOS",
+					'elaine'		=> "Palm",
+					'palm'			=> "Palm",
+					'series60'		=> "Symbian S60",
+					'windows ce'		=> "Windows CE",
 
 					// Browsers
-					'obigo'					=> "Obigo",
-					'netfront'				=> "Netfront Browser",
-					'openwave'				=> "Openwave Browser",
-					'mobilexplorer'			=> "Mobile Explorer",
-					'operamini'				=> "Opera Mini",
-					'opera mini'			=> "Opera Mini",
+					'obigo'			=> "Obigo",
+					'netfront'		=> "Netfront Browser",
+					'openwave'		=> "Openwave Browser",
+					'mobilexplorer'		=> "Mobile Explorer",
+					'operamini'		=> "Opera Mini",
+					'opera mini'		=> "Opera Mini",
 
 					// Other
-					'digital paths'			=> "Digital Paths",
-					'avantgo'				=> "AvantGo",
-					'xiino'					=> "Xiino",
-					'novarra'				=> "Novarra Transcoder",
-					'vodafone'				=> "Vodafone",
-					'docomo'				=> "NTT DoCoMo",
-					'o2'					=> "O2",
+					'digital paths'		=> "Digital Paths",
+					'avantgo'		=> "AvantGo",
+					'xiino'			=> "Xiino",
+					'novarra'		=> "Novarra Transcoder",
+					'vodafone'		=> "Vodafone",
+					'docomo'		=> "NTT DoCoMo",
+					'o2'			=> "O2",
 
 					// Fallback
-					'mobile'				=> "Generic Mobile",
-					'wireless'				=> "Generic Mobile",
-					'j2me'					=> "Generic Mobile",
-					'midp'					=> "Generic Mobile",
-					'cldc'					=> "Generic Mobile",
-					'up.link'				=> "Generic Mobile",
-					'up.browser'			=> "Generic Mobile",
-					'smartphone'			=> "Generic Mobile",
-					'cellphone'				=> "Generic Mobile"
+					'mobile'		=> "Generic Mobile",
+					'wireless'		=> "Generic Mobile",
+					'j2me'			=> "Generic Mobile",
+					'midp'			=> "Generic Mobile",
+					'cldc'			=> "Generic Mobile",
+					'up.link'		=> "Generic Mobile",
+					'up.browser'		=> "Generic Mobile",
+					'smartphone'		=> "Generic Mobile",
+					'cellphone'		=> "Generic Mobile"
 				);
 
 // There are hundreds of bots but these are the most common.
 $robots = array(
-					'googlebot'			=> 'Googlebot',
-					'msnbot'			=> 'MSNBot',
-					'slurp'				=> 'Inktomi Slurp',
-					'yahoo'				=> 'Yahoo',
-					'askjeeves'			=> 'AskJeeves',
+					'googlebot'		=> 'Googlebot',
+					'msnbot'		=> 'MSNBot',
+					'slurp'			=> 'Inktomi Slurp',
+					'yahoo'			=> 'Yahoo',
+					'askjeeves'		=> 'AskJeeves',
 					'fastcrawler'		=> 'FastCrawler',
-					'infoseek'			=> 'InfoSeek Robot 1.0',
-					'lycos'				=> 'Lycos'
+					'infoseek'		=> 'InfoSeek Robot 1.0',
+					'lycos'			=> 'Lycos'
 				);
 
 /* End of file user_agents.php */
diff --git a/readme.md b/readme.md
index be807db..7919465 100644
--- a/readme.md
+++ b/readme.md
@@ -8,4 +8,4 @@
  * [Community Forums](http://codeigniter.com/forums/)
  * [User Voice](http://codeigniter.uservoice.com/forums/40508-codeigniter-reactor)
  * [Community Wiki](http://codeigniter.com/wiki/)
- * [Community IRC](http://webchat.freenode.net/?channels=codeigniter&uio=d4)
\ No newline at end of file
+ * [Community IRC](http://codeigniter.com/irc/)
\ No newline at end of file
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index e2ef2f4..fb6e449 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -66,6 +66,7 @@
 	<li>General Changes
 		<ul>
 			<li>Added Android to the list of user agents.</li>
+			<li>Added Windows 7 to the list of user platforms.</li>
 			<li>Callback validation rules can now accept parameters like any other validation rule.</li>
 			<li>Ability to log certain error types, not all under a threshold.</li>
 			<li>Added html_escape() to <a href="general/common_functions.html">Common functions</a> to escape HTML output for preventing XSS.</li>
diff --git a/user_guide/general/profiling.html b/user_guide/general/profiling.html
index 9895b02..0993da5 100644
--- a/user_guide/general/profiling.html
+++ b/user_guide/general/profiling.html
@@ -155,6 +155,11 @@
 			<td class="td">TRUE</td>
 		</tr>
 		<tr>
+			<td class="td"><strong>session_data</strong></td>
+			<td class="td">Data stored in current session</td>
+			<td class="td">TRUE</td>
+		</tr>
+		<tr>
 			<td class="td"><strong>query_toggle_count</strong></td>
 			<td class="td">The number of queries after which the query block will default to hidden.</td>
 			<td class="td">25</td>
diff --git a/user_guide/general/requirements.html b/user_guide/general/requirements.html
index 405798f..de0ee76 100644
--- a/user_guide/general/requirements.html
+++ b/user_guide/general/requirements.html
@@ -59,7 +59,7 @@
 
 <ul>
 	<li><a href="http://www.php.net/">PHP</a> version 5.1.6 or newer.</li>
-	<li>A Database is required for most web application programming. Current supported databases are MySQL (4.1+), MySQLi, MS SQL, Postgres, Oracle, SQLite, and ODBC.</li>
+	<li>A Database is required for most web application programming. Current supported databases are MySQL (4.1+), MySQLi, MS SQL, Postgres, Oracle, SQLite, ODBC and CUBRID.</li>
 </ul>
 
 
diff --git a/user_guide/installation/downloads.html b/user_guide/installation/downloads.html
index f36b2bc..539fbc1 100644
--- a/user_guide/installation/downloads.html
+++ b/user_guide/installation/downloads.html
@@ -58,7 +58,9 @@
 <h1>Downloading CodeIgniter</h1>
 
 <ul>
-	<li><a href="http://codeigniter.com/downloads/">CodeIgniter V 2.0.2 (Current version)</a></li>
+	<li><a href="http://codeigniter.com/downloads/">CodeIgniter V 2.1.0 (Current version)</a></li>
+	<li><a href="http://codeigniter.com/download_files/reactor/CodeIgniter_2.0.3.zip">CodeIgniter V 2.0.3</a></li>
+	<li><a href="http://codeigniter.com/download_files/reactor/CodeIgniter_2.0.2.zip">CodeIgniter V 2.0.2</a></li>
 	<li><a href="http://codeigniter.com/download_files/reactor/CodeIgniter_2.0.1.zip">CodeIgniter V 2.0.1</a></li>
 	<li><a href="http://codeigniter.com/download_files/reactor/CodeIgniter_2.0.0.zip">CodeIgniter V 2.0.0</a></li>
 	<li><a href="http://codeigniter.com/download_files/CodeIgniter_1.7.3.zip">CodeIgniter V 1.7.3</a></li>
diff --git a/user_guide/installation/upgrade_210.html b/user_guide/installation/upgrade_210.html
index 9f8204a..6e8ddec 100644
--- a/user_guide/installation/upgrade_210.html
+++ b/user_guide/installation/upgrade_210.html
@@ -63,6 +63,10 @@
 
 <p>Replace all files and directories in your "system" folder and replace your index.php file. If any modifications were made to your index.php they will need to be made fresh in this new one.</p>
 
+<h2>Step 2: Replace config/user_agents.php</h2>
+
+<p>This config file has been updated to contain more user agent types, please copy it to <kbd>application/config/user_agents.php</kbd>.</p>
+
 <p class="important"><strong>Note:</strong> If you have any custom developed files in these folders please make copies of them first.</p>
 	
 
